Fork me on GitHub

Final Project Proposal

by Elliott Hauser

06 Apr 2014

Project Proposal

Form a group, if desired.

Submit a 1-3 page project proposal that addresses the following questions:

  • What is the project purpose and vision? For example, Jekyll aims to be a static site generator suitible for blogging using the command line.
  • What are some initial scoping and milestones you've identified? This is a very important piece, so give it a lot of thought. Each milestone should contribute something substantial to the project and yet be relatively small. State each in terms of a project capability or user story rather than as a task.
  • What division of labor between members will you use (if applicable)?
  • What technologies have you identified to use in the project? Programming languages, libraries, frameworks, and even hardware (e.g. Raspberry Pis) are examples of technologies you might use.
  • Who else will find this project useful and how will you make it available to them? All projects should be Github repositories, but example sites or Getting Started documentation are important for re-use. Eventually your Readme will contain this information.

It's OK to not have an answer for all of these, or to for instance not know exactly what software library you'll pick, but describe the range of choices you've identified and how you'll make the decision. The more you've been able to test your choices the better.

Additionally, your initial project repo should have, at a minimum:

  • A README that outlines the project purpose and vision. Eventually the intended audience, usage and contribution instructions will go here too.
  • A set of Github milestones corresponding to the ones you describe in your proposal.
  • An open source license. Get help choosing a license here or when in doubt use the MIT license.

If you have extra time, feel free to keep working:

  • Issues for milestone 1 and/or 2 that if collectively completed would accomplish the milestone. Good issues in this context are 1-2 hour tasks that can be completed with code. You'll reference and close them via pull requests.
  • Your first pull request

Please turn this proposal in, one per group, by adding me to a Google Document with commenting permissions. Include the link to your project repo in the document; I'll look at that as well. I'll leave comments on it directly, so remember to give me the rights to do so!

Project Grading Criteria

For your reference. I'll give out more detailed requirements similar to the above for your final project in a week or two.

  • Vision and purpose: 10 points. Is the project's purpose well-stated and reasonable? Is the project's vision exciting to those interested in what it does?
  • Collaboration: 15 points. Did the project team utilize open and closed collaboration tools effectively?
  • Technology: 15 points. Did the team select and utilize appropriate open source technologies for the project?
  • Re-usability: 25 points. Is the project easily re-usable? This might include thorough documentation, example(s), customizibility via config files, modularity, and other features that make it easy for others to use the project for their purposes.
  • Contributor-Friendliness: 25 points. Is there a contributor guidelines file? A licence? Is the code well-documented and/or commented so a sufficiently motivated and experienced coder could contribute?
  • Uniqueness: 10 points. Is the project unique in approach or functionality? Where it's similar to other projects, are the differences made clear?
Elliott Hauser is a PhD Student in information science at UNC Chapel Hill. He's hacking education as one of the cofounders of Trinket.io. Find Elliott Hauser on Twitter, Github, and on the web.
comments powered by Disqus